package com.yan.designPatterns.factoryMethod.demo01;


import com.yan.designPatterns.factoryMethod.demo01.abstractFactory.AbstractHumanFactory;
import com.yan.designPatterns.factoryMethod.demo01.impl.BlackHuman;
import com.yan.designPatterns.factoryMethod.demo01.impl.WhiteHuman;
import com.yan.designPatterns.factoryMethod.demo01.impl.YellowHuman;

/**
 * 测试类
 */
public class NvWa {
	public static void main(String[] args) {
		//声明阴阳八卦炉
		AbstractHumanFactory YinYangLu =new HumanFactory();
		
		//女娲第一次造人， 火候不足， 于是白人产生了
		System.out.println("--造出的第一批人是白色人种--");
		Human whiteHuman = YinYangLu.createHuman(WhiteHuman.class);
		whiteHuman.getColor();
		whiteHuman.talk();
		
		//女娲第二次造人， 火候过足， 于是黑人产生了
		System.out.println("\n--造出的第二批人是黑色人种--");
		Human blackHuman = YinYangLu.createHuman(BlackHuman.class);
		blackHuman.getColor();
		blackHuman.talk();
		
		//第三次造人， 火候刚刚好， 于是黄色人种产生了
		System.out.println("\n--造出的第三批人是黄色人种--");
		Human yellowHuman = YinYangLu.createHuman(YellowHuman.class);
		yellowHuman.getColor();
		yellowHuman.talk();
		
	}

}
